const { exec } = require("../db/mysql")
const xss = require('xss')

const getList = (author, keywords) => {
    let sql = `select * from blogs where 1=1 `

    if (author) {
        sql += `and author ='${author}' `
    }
    if (keywords) {
        sql += `and title like '%${keywords}%' `
    }

    sql += `order by createtime desc;`
    return exec(sql)

}
const getDetail = (id) => {
    let sql = `select * from blogs where id='${id}' `
    return exec(sql).then(rows => {
        return rows[0]
    })
}
const newBlog = (blogData = {}) => {
    const title = xss(blogData.title)
    const content = blogData.content
    const author = blogData.author
    const createtime = Date.now()
    const sql = `insert into blogs(title,content,author,createtime) values('${title}','${content}','${author}',${createtime}); `

    return exec(sql).then(insertData => {
        console.log('insertData is', insertData);
        return {
            id: insertData.insertId
        }
    })
}
const updateBlog = (id, blogData = {}) => {
    const title = blogData.title
    const content = blogData.content
    let sql = `update blogs set title='${title}',content='${content}' where id='${id}'`

    return exec(sql).then((updateData) => {
        console.log('updateData is', updateData);
        if (updateData.affectedRows > 0) {
            return true
        }
        return false
    })
}

const delBlog = (id, author) => {
    let sql = `delete from blogs where id=${id} and author=${author}`
    return exec(sql).then((delData) => {
        if (delData.affectedRows > 0) {
            return true
        }
        return false
    })
}
module.exports = {
    getList, getDetail, newBlog, updateBlog, delBlog
}